Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix get_bloat for Windows and use PGPASSFILE #728

Closed
wants to merge 2 commits into from

Conversation

marcohald
Copy link
Contributor

Thisis a recreation of #560

Bug reports

Please include:

  • Your operating system name and version
    Windows Server 2019
  • Detailed steps to reproduce the bug
  1. use more than 3 Postgres DBs
    Then the get_bloat crashes with "The command line is too long."

  2. Set a System Environment Variable for the PGPASSFILE
    It get's overwritten by an empty String

Proposed changes

This commit fixes two issue.

  1. The get_bloat executes psql for each database. This is necessary because otherwise it exceeds the maximum 8191 characters limit of windows https://learn.microsoft.com/en-us/troubleshoot/windows-client/shell-experience/command-line-string-limitation Which triggers the error "The command line is too long." I observed it with 3 databases

  2. The PGPASSFILE Env varaible is only overwritten by the instance pg_passfile when it is not empty. In this way it is possible to use a system wide PGPASSFILE evnironment variable.

This commit fixes two issue.
1. The get_bloat executes psql for each database.
This is necessary because otherwise it exceeds the maximum 8191 characters limit of windows https://learn.microsoft.com/en-us/troubleshoot/windows-client/shell-experience/command-line-string-limitation
Which triggers the error "The command line is too long."
I observed it with 3 databases

2. The PGPASSFILE Env varaible is only overwritten by the instance pg_passfile when it is not empty.
In this way it is possible to use a system wide PGPASSFILE evnironment variable.
@TimotheusBachinger
Copy link
Contributor

Hi @marcohald thanks for the contribution (and the re-opening...)

Your commit fixes actually two independent things (get_bloat fix due to too long cmd line & PGPASSFILE) - can I ask you to make two commits out of it? At the end, it will also result in two werks.

Regards
Timi

@CheckmkCI CheckmkCI closed this in a506196 Oct 21, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Oct 21, 2024
@TimotheusBachinger
Copy link
Contributor

closed as well via 1e102ce
FYI: I have split up your commit into two and did some minor changes to improve code quality.
Thanks for your contribution!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants